草庐IT

QML键盘事件

在QML中,当有一个按键按下或释放时,会产生一个键盘事件,将其传递给获得有焦点的QML项目(讲focus属性设置为true,则获得焦点)。按键处理的基本流程:Qt接收密钥操作并生成密钥事件。如果 QQuickWindow 是活动窗口,则密钥事件将传递给它。关键事件由场景传递到具有活动焦点的项目。如果没有项目具有活动焦点,则忽略关键事件。如果具有活动焦点的 QQuickItem 接受密钥事件,则传播将停止。否则,事件将发送到项的父项,直到接受该事件或到达根项。附加属性所有可视基元都支持Keys附加属性进行键的处理。信号属性击具有一个KeyEvent参数,参数名为event,通过event来处理键

c++ - Raspberry PI Rev. 1 上的 Qt-QML JIT

我和我的friend正在开发由RaspberryPIB+和一个小触摸屏驱动的可移植互联网radio。我正在使用我为PI的ARMv6CPU交叉编译的Qt-5.9开发接口(interface)。我的界面使用的是QML,所以当我启动我的应用程序时,一切正常,但QML动画滞后。因此,控制台告诉我QMLJIT未启用(JIT已为QML禁用。属性绑定(bind)和动画将非常慢。访问https://wiki.qt.io/V4了解可能的解决方案平台。),所以我查看了有关V4引擎的给定页面,经过大约两周的试用后,我发现问题在于缺少使用Thumb-1指令集的可能性,即V4所需的,以及在Pi上运行的Raspb

c++ - 使用 Q_INVOKABLE 将 C++ 与 QML 连接起来

我有一个Qt函数:voidMainWindow::button_clicked(Qstringa,Qstringb,Qstringc,Qstringd)我从QML收集数据,我想将数据传递给Qt中的这个函数。所以我知道我需要使用Q_INVOKABLE但不知道如何使用它。另外一件事是在调用上面的某个函数时可以调用其他函数。例如:我调用了上面的函数,但在她的body里我调用了refresh()函数。这可能吗? 最佳答案 为了能够从QML调用方法,您必须使用Q_INVOKABLE或将其标记为插槽。如果Q_INVOKABLE不打算用作插槽,我

c++ - 带有 qt5 (qml) 的无框窗口

这个问题在这里已经有了答案:QQuickWindowtransparent(3个回答)关闭8年前。我花了一些时间在网络搜索上,但没有任何帮助..我用QML构建GUI,我希望他没有框架。我尝试像这样更改我的main.cpp:#include#include"qtquick2applicationviewer.h"intmain(intargc,char*argv[]){QGuiApplicationapp(argc,argv);QtQuick2ApplicationViewerviewer;viewer.setMainQmlFile(QStringLiteral("qml/RR_QML/

c++ - 在 Qt QML 中为许多文本元素指定字体

我有一个通过QML文件指定的小部件。该小部件包含一个顶级Rectangle,其中包含两个Columns。这些Columns中的每一个都包含许多Text元素。这个QML小部件被包装在C++中QDeclarativeView的子类中。我想为这些Text元素中的每一个指定字体。今天我通过指定顶级属性来做到这一点:propertystringfontfamily:"Arial"propertyboolfontbold:falsepropertyboolfontitalic:falsepropertyintfontpixelsize:11propertystringfontcolor:"Whit

c++ - 如何从 C++ 访问嵌套的 QML 对象?

这是一个可重现的例子:ma​​in.qmlimportQtQuick2.0Item{id:rootwidth:360height:360Text{id:t1text:qsTr("HelloWorld")propertyintsomeNumber:1000anchors.centerIn:parent}MouseArea{anchors.fill:parentonClicked:{Qt.quit();}}}ma​​in.cpp#include#include#include#include#include#include"qtquick2applicationviewer.h"intma

c++ - { Qt5.0.2/QML/QtQuick2.0/C++ } 运行没有错误的示例项目?

关闭。这个问题需要更多focused.它目前不接受答案。想要改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭9年前。Improvethisquestion我的设置是Qt5.0.2MinGW32位。我正在寻找{Qt5.0.2/QML/QtQuick2.0/C++}具有实际C++类或在至少一个main.cpp.我浏览了网络,浏览了所有可能找到的示例:http://qt-project.org/网站;github;堆栈溢出(如果之前有人解决过这个问题);http://www.developer.nokia.com/Develop/Qt/Code_example

c++ - 如何将用于计算的 C++ 结构暴露给 Qml

我有以下问题。我正在开发一个C++模型和一个QmlView,通过Controller连接它们。在我的模型中,我执行多个计算。我还为我的应用程序的用户提供了编写自定义事件处理程序的可能性,用qml编写。现在我遇到了一个点,我决定使用定点表示法,并且我编写了一个相应的C++类。现在我想向决定在Qml中扩展我的应用程序的开发人员提供FixedPoint类-包括它的所有运算符。到目前为止,我以QProperties的形式提供了所有数据,这是编码指南所要求的。但我愿意在我的团队中讨论其他解决方案。显然,一个固定点是没有身份的,算法依赖于复制它的可能性,这在从QObject继承时是不允许的。所以问

c++ - QML 是在编译时翻译成 native 代码,还是在运行时解释为 JavaScript 在 Web 浏览器中运行的方式?

QML是在编译时翻译成native代码,还是在运行时解释,几乎就像JavaScript在Web浏览器中运行的方式一样? 最佳答案 AFAIK,Qt文档中似乎没有直接详细的解释,但是一些Qt黑客trytoexplainit:QMLiscompiledtoanoptimizedbytecode-likestreamandtheJavaScriptexpressionspassthroughanoptimizedevaluatorforsimpleexpressions.还有相关的QTBUG任务QtQuickstartuptimeneed

c++ - 将 QAbstractTableModel 与 Qml TableView 一起使用仅显示第一列

我正在尝试将(派生自)QAbstractTableModel与QmlTableView一起使用;但是,只显示第一列。原因是非零列不调用QVariantMyModel::data(constQModelIndex&index,introle),但我不明白为什么。QTableView可以正常工作。我制作了一个单独的简单项目来重现我的问题:MyModel.h:#ifndefMYMODEL_H#defineMYMODEL_H#include#include#include#include#includestructSimpleData{QStringm_one;qint32m_two;qrea